#ifndef CHASSIS_TASK
#define CHASSIS_TASK


#ifdef __cplusplus
extern "C"
	{
#endif

#ifdef __cplusplus
		
//typedef struct
//{
//  const motor_t *chassis_motor_measure;
//  fp32 accel;
//  fp32 speed;

//	fp32 speed_lpf;
//	fp32 speed_lpf_last;
//  fp32 speed_set;

//  fp32 power;
//	fp32 current_set;
//	fp32 current;
//	fp32 current_scale;

//	int16_t give_current;

//}chassis_motor_t;

class chassis_task
{
	private:
		float Vx;
		float Vy;
		float Wz;

		float Vx_set;
		float Vy_set;
		float Wz_set;

		float chassis_wheel_1_speed;
		float chassis_wheel_2_speed;
		float chassis_wheel_3_speed;
		float chassis_wheel_4_speed;
	
	public:
		void chassis_control(const float,const float,const float);
//			chassis_motor_t chassis_motor[4];

};

#endif
//void chassis_task(void const * pvParameters);
void move_Forward(float speed);
void move_Backward(float speed);
void move_Left_Translation(float speed);
void move_Right_Translation(float speed);
void move_Clockwise_Rotation(float speed);
void move_CounterClockwise_Rotation(float speed);
void move_Stop(float speed);
#ifdef __cplusplus
}
#endif

#endif
